Skip to content

feat(settings): implement IDelegatedSettings for activity admin settings - #2885

Open
printminion-co wants to merge 1 commit into
nextcloud:masterfrom
IONOS-Productivity:feat/activity-delegate-admin-settings
Open

feat(settings): implement IDelegatedSettings for activity admin settings#2885
printminion-co wants to merge 1 commit into
nextcloud:masterfrom
IONOS-Productivity:feat/activity-delegate-admin-settings

Conversation

@printminion-co

Copy link
Copy Markdown

Summary

Implements IDelegatedSettings for the activity admin settings page (OCA\Activity\Settings\Admin), instead of the plain ISettings interface. This allows an administrator to delegate management of the activity settings to a non-admin user or group via the admin delegation feature, without granting full admin rights.

  • getName() returns the translated section label, Activity.
  • getAuthorizedAppConfig() returns [] — no app config keys are exposed for direct delegated editing beyond the settings form itself.
  • IL10N is already injected in this class, so the change is additive only.
  • #[\Override] is set on both new methods, matching the rest of the class.

Companion to nextcloud/bruteforcesettings#1246, which makes the same change for the brute-force IP allowlist settings.

AI disclosure

This change was prepared with AI assistance (Claude Code): the cherry-pick and rebase mechanics onto current master, the #[\Override] consistency fix, and this PR description. The underlying code change and the DCO sign-off are from a human contributor.

Testing

  • composer lint — clean
  • composer cs:check — clean, 0 of 98 files need fixing
  • composer psalm was not run locally: the pinned Psalm 7.0.0-beta19 requires PHP >= 8.3.16 and the available container has PHP 8.3.6. CI covers it here.
  • No existing test touches this settings class.

Comment thread lib/Settings/Admin.php

#[\Override]
public function getAuthorizedAppConfig(): array {
return [];

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this contain a list of app config?
Looks like at least enable_email would be needed, the others seems to be set through a custom endpoint.

Can you double-check?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants